package org.study.mybatisplus.dynamic.boot.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.*;

import java.io.Serializable;

/**
 * 保存告警配置
 *
 * @author doveylovey
 * @version v1.0.0
 * @email 1135782208@qq.com
 * @date 2024年10月08日
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AlarmSaveDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 告警配置ID，新增不传修改传
     */
    private Long alarmConfigId;

    /**
     * 告警配置类型;1.流量卡告警，2.属性告警（不允许修改）
     */
    @NotNull(message = "请选择告警类型")
    private Integer alarmType;

    /**
     * 告警名称
     */
    @NotBlank(message = "请填写告警名称")
    private String alarmName;

    /**
     * 告警通知方式;1.邮件
     */
    private Integer alarmNoticeType;

    /**
     * 告警通知对象;逗号分割
     */
    private String alarmNoticeObject;

    /**
     * 告警项目ID（不允许修改）
     */
    @NotNull(message = "请选择一个项目")
    private Long projectId;

    /**
     * 告警设备ID
     */
    private Long deviceId;

    /**
     * 告警属性ID
     */
    private Long propertyId;

    /**
     * 告警配置
     */
    @NotBlank(message = "请填写告警配置")
    private String alarmConfig;
}
